home *** CD-ROM | disk | FTP | other *** search
File List | 1995-08-15 | 2.1 KB | 101 lines |
- ' mirror.gfa
- ' developed by Seymour Shlien
- ' 624 Courtenay Avenue
- ' Ottawa, Ontario
- ' Canada, K2A 3B5
- '
- ' The program and sources are public domain
- DIM deskcolors%(16)
- DIM xbs_files$(30)
- @get_deskcolors
- @dir_xbs_files
- @read_sound
- @dosound
- wid%=2
- hit%=2
- rez%=XBIOS(4)
- IF rez%<>0
- ALERT 3," Please switch to | low resolution! ",1,"Oops",b%
- STOP
- ENDIF
- @color_bar
- DEFFILL 2
- REPEAT
- IF MOUSEK=1
- IF MOUSEY>20
- PBOX MOUSEX,MOUSEY,MOUSEX+wid%,MOUSEY+hit%
- PBOX 320-MOUSEX,MOUSEY,320-MOUSEX+wid%,MOUSEY+hit%
- PBOX MOUSEX,220-MOUSEY,MOUSEX+wid%,220-MOUSEY+hit%
- PBOX 320-MOUSEX,220-MOUSEY,320-MOUSEX+wid%,220-MOUSEY+hit%
- ELSE IF MOUSEX<180
- DEFFILL MOUSEX/20
- ELSE IF MOUSEX<230
- DEFFILL 8
- PBOX 0,20,319,199
- ENDIF
- ENDIF
- UNTIL ((MOUSEX>230) AND (MOUSEY<20) AND (MOUSEK=1))
- restore_deskcolors
- > PROCEDURE color_bar
- VSETCOLOR 1,15,0,0
- VSETCOLOR 2,0,15,0
- VSETCOLOR 3,0,0,15
- VSETCOLOR 4,15,15,0
- VSETCOLOR 5,0,15,15
- VSETCOLOR 6,15,0,15
- VSETCOLOR 7,15,15,15
- VSETCOLOR 8,0,0,0
- CLS
- FOR i=1 TO 8
- DEFFILL i
- PBOX i*20,8,(i+1)*20,16
- NEXT i
- DEFTEXT 8
- TEXT 184,14,"CLEAR"
- TEXT 230,14,"QUIT"
- DEFFILL 8
- PBOX 0,20,319,199
- DEFMOUSE 0
- RETURN
- > PROCEDURE get_deskcolors
- LOCAL i%
- FOR i%=0 TO 15
- deskcolors%(i%)=XBIOS(7,i%,-1)
- NEXT i%
- RETURN
- > PROCEDURE restore_deskcolors
- LOCAL i%
- FOR i%=0 TO 15
- SETCOLOR i%,deskcolors%(i%)
- NEXT i%
- RETURN
- > PROCEDURE dir_xbs_files
- number_of_xbs_files%=0
- ~FSETDTA(BASEPAGE+128)
- e%=FSFIRST("\*.XBS",-1)
- DO UNTIL e%
- xbs_files$(number_of_xbs_files%)=CHAR{BASEPAGE+158}
- e%=FSNEXT()
- INC number_of_xbs_files%
- LOOP
- RETURN
- > PROCEDURE read_sound
- LOCAL a%,i%
- IF number_of_xbs_files%>0
- i%=RANDOM(number_of_xbs_files%)
- OPEN "i",#1,xbs_files$(i%)
- a%=LOF(#1)
- DIM music_data&(a%/2)
- BLOAD xbs_files$(i%),VARPTR(music_data&(0))
- CLOSE #1
- ENDIF
- RETURN
- > PROCEDURE dosound
- LOCAL i%
- IF number_of_xbs_files%>0
- ' SPOKE &H484,PEEK(&H484) AND NOT 1
- addr%=V:music_data&(0)
- ~XBIOS(32,L:addr%)
- ENDIF
- RETURN
-